<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Release Notes</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('p_releasenotes.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Release Notes </div>  </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="p_releasenotes"></a>
Release Notes</h2>
<div class="fragment"><pre class="fragment">Release notes.

BLE SDK 
-------
-------

BLE SDK v1.0.0
--------------
This release contains the following.

  - Complete source code needed for writing applications on top of S110 SoftDevice (BLE Stack)
  - Template application that can be used as a starting point to develop custom applications.
  - Example application for Heart Rate Service 
  - Example application for Proximity profile
  - Example application for HID Mouse
  - Example application for HID Keyboard
  - Power profiling application
  - Example application using Heart Rate Service for Evaluation Board (PCA10001)
  - Multiprotocol application that implements the Heart Rate profile in Bluetooth mode and the Gazell 'device' mode.
  - Documentation

Compatibility:  
  - S110 SoftDevice v1.0.0
  - Keil MDK-ARM Version v4.54 or higher
  - J-Link ARM v4.52b or higher
  
Known issues:
  - The button on the evaluation board are not debounced in hardware and the application implementing for it does not debounce the button presses either (using software mechanisms). So there will be additional increments/decrements of heart rate measurement while pressing the buttons.
  
  

S110 SoftDevice
---------------
---------------
S110 SoftDevice v1.0.0
----------------------

This is the second release of the S110 SoftDevice, implementing a Bluetooth(r) Low Energy Stack on the nRF51822 IC.

Requirements:

    nRF51822 IC
    
Bug fixes:

    * GAP:
      - ble_gap_authenticate() can not be called again until the procedure has completed (DRGN-1027)
      - No longer asserts if the peer rejects the Connection Parameter Update Request (DRGN-1041)
      - ble_gap_conn_params_update() can not be called again until procedure has either completed or timed out (DRGN-1118)
      - Now allows pairing with MITM protection (DRGN-1150)
      - Some SMP timers were not reset upon disconnect during pairing and could cause the device to disconnect the next connection (DRGN-1289)
      - The timer for security request did not use correct resolution. (DRGN-1337)
      - No longer asserts if ble_gap_adv_start() is called with invalid parameters (DRGN-1361)
      - SoftDevice always sends BLE_GAP_EVT_AUTH_STATUS event when paring is complete (DRGN-1363)
      - ble_gap_conn_param_update() internal state did not get updated correctly if disconnected in the middle of the procedure (DRGN-1039)
      - No longer asserts during encryption when master initiates with IO_CAPS_KEYBOARD_DISPLAY and pairing and slave responds with IO_CAPS_DISPLAY_ONLY and bonding (DRGN-1367)
      - No longer asserts if ble_gap_tx_power_set() is called with the (valid) value -40 (DRGN-1407)
    
    * SoftDevice fixes:
      - No longer loses connection with error code 0x3E when switching to RC clock source (DRGN-1171)    

Changes:

    * GATTS:
      - ble_gatts_md_set() and ble_gatts_value_set() are now restricted to characteristic values and descriptors added by the application only (DRGN-1125)
      - Possibility for persistent protocol data (CCCD, Service Changed, SCCD) between connections (DRGN-967) 
      - ble_gatts_char_md_t has received a char_user_desc_max_size that need to be set to equal or longer than the char_user_desc length. (DRGN-900)
      - The ble_gatts_characteristic_add() and ble_gatts_descriptor_add() have been modified to include the parent handle (could use BLE_GATTS_HANDLE_INVALID for old
        behavior) (DRGN-907)
    * ble_evt_get() has been modified and prepared for longer MTU sizes than 23 (DRGN-1389)
    * SoftDevice:
      - Application can set the clock accuracy when enabling the SoftDevice (DRGN-1278)

New functionality:

    * GAP:
      - Application can stop pairing from proceeding by replying with an error when receiving BLE_GAP_EVT_SEC_REQUEST (DRGN-1314)
      - The ability to continue pairing if application requests bonding and peer sets bonding flag to zero. (DRGN-1129)
      - Whitelist functionality: With address or resolvable random address with IRK (received during bonding) (DRGN-983)
      - The application can register for RSSI events (DRGN-1351)
    * Vendor Specific UUIDs (128bit UUID support) (DRGN-550)
    * L2CAP:
      - Can register L2CAP channels for proprietary protocols (DRGN-1119)
    * GATTS:
      - New function calls for persistence: ble_gatts_sys_attr_set() and ble_gatts_sys_attr_get() (DRGN-967)      
      
Unimplemented:

    * GATT support for MTU sizes larger than the default 23 octets.
    * Signing of GATT PDUs (Bluetooth Core spec, Vol.3, Part H, section 2.4.5), is not supported.
    * GAP Privacy (Bluetooth Core spec. Vol. 3, Part C, section 10.7) is not supported.
    * Loading a GATT database image is not supported. A preliminary API specification is found in the file ble_gatts.h.
    * Deferring GATT operations is not supported. A preliminary API specification is found in the file ble_gatts.h.
    * GATT client functions are not supported. A preliminary API specification is found in the file ble_gattc.h.

Known issues:

    * Some conformance tests not passing
    * SoftDevice
      - PPI channel groups: Currently only PPI channel group 0 is available to the application.  In the future, PPI channel groups 0 and 1 will be made available.
    * GATTS:
      - To conform with the Bluetooth specification there shall not be a secondary service that is not referenced somehow by a primary service. (DRGN-906)
      - To conform with the Bluetooth specification, no services or characteristics should be added or removed after bonding to a device (DRGN-1026)
      - When calling ble_gatts_characteristic_add and it fails, it might not remove all added attributes, depending on the error code. Thus the call to add
        characteristics should never fail to make sure it works. (DRGN-791)
      - It is not possible to restrict attribute access based on the key size used during pairing. (DRGN-970)
    * GAP:
      - Currently there is no exponential backoff timer on SMP for repeated attempts, this can be implemented in the application to conform with the Bluetooth spec (DRGN-1123)
      - It is currently not possible to achieve full data throughput using ble_gatts_hvx() with notifications if the connection interval is below 10ms. (DRGN-1433)
      - When a  disconnect command has been sent, application can not send a new command until disconnection complete has been received (DRGN-1364)
      
      
S110 SoftDevice v0.6alpha
-------------------------

This is the first release of the S110 SoftDevice, implementing a Bluetooth(r) Low Energy stack on the nRF51822 IC. 

Unimplemented: 

  - ble_vs_uuids_assign(), defining vendor specific UUIDs, is not supported. A preliminary API specification is found in the file ble.h.
  - GAP functions for the central role are not supported (ble_gap_scan_start, ble_gap_scan_stop, ble_gap_connect, ble_gap_connect_cancel). A preliminary API specification is found in the file ble_gap.h.
  - GATT supports only the default MTU size of 23 octets.
  - Signing of GATT PDUs (Bluetooth Core spec, Vol.3, Part H, section 2.4.5), is not supported.
  - GAP Privacy (Bluetooth Core spec. Vol. 3, Part C, section 10.7) is not supported.
  - Loading a GATT database image is not supported. A preliminary API specification is found in the file ble_gatts.h.
  - Deferring GATT operations is not supported. A preliminary API specification is found in the file ble_gatts.h.
  - GATT client functions are not supported. A preliminary API specification is found in the file ble_gattc.h.
  - Direct Test Mode (DTM, see Bluetooth Core spec, Vol. 6, Part G) will be implemented in the next release.

  
Known issues:

  - Client Characteristic Configuration Descriptor values are not persistent across connections for bonded devices (see Bluetooth Core spec, Vol. 3, Part G, section 3.3.3.3).
  - MITM protection is not supported when performing a pairing procedure without bonding.
  - The function ble_gatts_hvx() can currently modify the GATT Server database and fail to send the corresponding notification or indication. Once this issue is resolved, the function will atomically write the new value to the database and send the packet.
  - The function nrf_softdevice_enable currently does not work with the clock_source set to NRF_CLOCK_LFCLKSRC_RC
  - The application must turn on the 16 MHz clock source before the SoftDevice is started, and must not turn it off while the SoftDevice is running.

</pre></div> </div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="index.html">Main Page</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
